package com.sky.business.sys.service;

import com.sky.business.sys.domain.CameraConfig;
import com.sky.business.sys.domain.TrackTask;

import java.util.List;

/**
 * 调度服务
 */
public interface DispatcherService {

    /**
     * 停止其他设备对本任务的跟踪
     * @param taskId 任务id
     * @param deviceIdList 设备列表
     */
    void stopOtherDeviceTracking(String taskId,List<String> deviceIdList);

    /**
     * 结束跟踪事件
     * @param trackTaskList 追踪任务列表
     */
    void endTracking(List<TrackTask> trackTaskList);

    /**
     * 结束任务
     * @param taskId 任务id
     * @param deviceId 设备id
     */
    void endTracking(String taskId,String deviceId);



    /**
     * 是否在追踪范围
     * @param cameraConfig 设备配置
     * @param uavLng 无人机经度
     * @param uavLat 无人机维度
     * @param uavAltitude 无人机海拔
     * @return 是否在追踪范围
     */
    boolean inTrackingRange(CameraConfig cameraConfig, double uavLng, double uavLat, double uavAltitude);
}
